package sifeap.pl.servlet.estamosorganizados;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.activation.FileDataSource;
import javax.activation.MimetypesFileTypeMap;
import javax.imageio.ImageIO;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import sifeap.bl.ejb.convenios.ConvenioBLLocal;
import sifeap.entities.convenios.Convenio;
import sifeap.entities.gestionarchivos.valueobject.GestionArchivoVO;
import sifeap.util.Util;

/**
 * Servlet para obtener las imagenes de los convenios
 */
@WebServlet(urlPatterns = { "/EstamosOrganizadosServlet" })
public class EstamosOrganizadosServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public EstamosOrganizadosServlet() {
		super();
	}

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String parametro = request.getParameter("parametro");
		OutputStream outputStream = null;
		InputStream inputStream = null;
		
		try {
			if (parametro != null && parametro.trim().length() > 0) {
				parametro = Util.obtenerValorParametro(parametro);
				
				File archivo = new File(parametro);
				
				String tipoContenido = new MimetypesFileTypeMap().getContentType(archivo); //Obtiene el tipo de archivo
				
				response.setContentType(tipoContenido);
				
				outputStream = response.getOutputStream();
				
				inputStream = new FileInputStream(archivo);

				int read = 0;
				byte[] bytes = new byte[1024];
				while ((read = inputStream.read(bytes)) != -1) {
					outputStream.write(bytes, 0, read);
				}
				
			}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (inputStream != null) {
				try { inputStream.close(); } catch (Exception e1) {}
			}
			
			try { outputStream.close(); } catch (Exception e2) {}
		}
	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}
